import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IPetArenaPrx } from "./IPetArenaPrx";
import { AMI_IPetArena_buyExtraNum } from "./AMI_IPetArena_buyExtraNum";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IPetArena_buyInsurance } from "./AMI_IPetArena_buyInsurance";
import { AMI_IPetArena_challenge } from "./AMI_IPetArena_challenge";
import { SPetArenaInfo } from "./SPetArenaInfo";
import { AMI_IPetArena_getAccumulateRewardInfo } from "./AMI_IPetArena_getAccumulateRewardInfo";
import { AMI_IPetArena_getMyPetArena } from "./AMI_IPetArena_getMyPetArena";
import { AMI_IPetArena_getMyPetArenaLog } from "./AMI_IPetArena_getMyPetArenaLog";
import { AMI_IPetArena_getMyReward } from "./AMI_IPetArena_getMyReward";
import { AMI_IPetArena_join } from "./AMI_IPetArena_join";
import { AMI_IPetArena_lockAttribute } from "./AMI_IPetArena_lockAttribute";
import { AMI_IPetArena_observe } from "./AMI_IPetArena_observe";
import { AMI_IPetArena_petArenaDetailInfo } from "./AMI_IPetArena_petArenaDetailInfo";
import { AMI_IPetArena_search } from "./AMI_IPetArena_search";
type int = number;
//class IPetArenaPrxHelper
    
    export  class IPetArenaPrxHelper extends RMIProxyObject implements IPetArenaPrx
    {
        constructor()
        {
            
            super();name = "IPetArena";
            return;
        }

        public buyExtraNum_async(arg1: AMI_IPetArena_buyExtraNum): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("buyExtraNum");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public buyInsurance_async(arg1: AMI_IPetArena_buyInsurance): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("buyInsurance");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public challenge_async(arg1: AMI_IPetArena_challenge, arg2: SPetArenaInfo, arg3: string, arg4: Boolean, arg5: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("challenge");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            loc3.writeString(arg3);
            loc3.writeBool(arg4);
            loc3.writeInt(arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getAccumulateRewardInfo_async(arg1: AMI_IPetArena_getAccumulateRewardInfo): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getAccumulateRewardInfo");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMyPetArena_async(arg1: AMI_IPetArena_getMyPetArena): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMyPetArena");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMyPetArenaLog_async(arg1: AMI_IPetArena_getMyPetArenaLog): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMyPetArenaLog");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMyReward_async(arg1: AMI_IPetArena_getMyReward, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMyReward");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public join_async(arg1: AMI_IPetArena_join, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("join");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public lockAttribute_async(arg1: AMI_IPetArena_lockAttribute, arg2: Boolean, arg3: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("lockAttribute");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            loc3.writeString(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public observe_async(arg1: AMI_IPetArena_observe, arg2: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("observe");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public petArenaDetailInfo_async(arg1: AMI_IPetArena_petArenaDetailInfo, arg2: SPetArenaInfo): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("petArenaDetailInfo");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public search_async(arg1: AMI_IPetArena_search, arg2: int, arg3: int, arg4: int, arg5: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("search");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            loc3.writeBool(arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IPetArena";
    }
